package com.avalonsql.core.db.managers.api;

import com.avalonsql.core.db.DBException;
import com.avalonsql.core.db.connection.ConnectionWrapper;
import com.avalonsql.core.db.objects.api.IDBObject;
import com.avalonsql.core.db.objects.api.IRootObject;

public interface IProvidersFactory {

    public <T extends IRootObject> IRootObjectsManager<T> getRootObjectsManager(ConnectionWrapper connectionWrapper, Class<T> dbObjectClass) throws DBException;

    public <T extends IDBObject<P>, P extends IDBObject> IDBObjectsManager<T, P> getDBObjectsManager(ConnectionWrapper connectionWrapper, Class<T> dbObjectClass) throws DBException;

}
